<?php

require_once "classes/classe_banco.php";
require_once "classes/classe_gasto.php";
require_once "classes/classe_criptografia.php";

class BaseGasto{

    
public function cadastrarGasto($gasto,$codigoUsuario) {

 try{

  $banco = new Banco();
  $banco->abreConexao();

     $id            = $gasto->id;
     $nome          = $gasto->nome;
     $valor         = $gasto->valor;
     $ano           = $gasto->ano;
     $mes           = $gasto->mes;
     $tipo          = $gasto->tipo;
     $descricao     = $gasto->descricao;
     $datacadastro  = $gasto->datacadastro;

     $query = " INSERT INTO gasto_scgp (id,nome,valor,ano,mes,tipo,descricao,datacadastro,codigousuario) ";
     $query .= " VALUES ($id,'$nome',$valor,$ano,$mes,$tipo,'$descricao','$datacadastro',$codigoUsuario) ";

     $ressult = mysql_query($query);
     $banco->fechaConexao();

     return true;
    }
    catch (Exception $e) {
       return false;
   }
}




function sendBackupGasto($dadosGasto,$codigoUsuario){

    $sucesso = false;
 try{

$this->limparTabelaGastoByCodigoUsuario($codigoUsuario);
$gasto = new Gasto();
$colecaoGasto = $gasto->getColecaoGasto($dadosGasto);

foreach($colecaoGasto as $g){
  $sucesso = $this->cadastrarGasto($g,$codigoUsuario);
  if($sucesso == false)
      break;
 }

 return $sucesso;
 }
 catch (Exception $e) {
    return false;
 }
}





function getBackupGasto($codigoUsuario){

$retorno = "";
$baseGasto = new BaseGasto();
$colecaoGastos = $baseGasto->findAllGastosByCodigoUsuario($codigoUsuario);
$i = 0;

if(count($colecaoGastos) == 0)
    return "";


foreach($colecaoGastos as $g){

     $id           = $g->id;
     $nome         = $g->nome;
     $valor        = $g->valor;
     $ano          = $g->ano;
     $mes          = $g->mes;
     $tipo         = $g->tipo;
     $descricao    = $g->descricao;
     $datacadastro = $g->datacadastro;

    if($i != 0)
	$retorno .= SEPARADOR_REGISTROS;

    $retorno .= $id;
	$retorno .= SEPARADOR_VARIAVEIS;
	$retorno .= $nome;
	$retorno .= SEPARADOR_VARIAVEIS;
	$retorno .= $valor;
	$retorno .= SEPARADOR_VARIAVEIS;
	$retorno .= $ano;
	$retorno .= SEPARADOR_VARIAVEIS;
	$retorno .= $mes;
	$retorno .= SEPARADOR_VARIAVEIS;
	$retorno .= $tipo;
	$retorno .= SEPARADOR_VARIAVEIS;
	$retorno .= $descricao;
	$retorno .= SEPARADOR_VARIAVEIS;
	$retorno .= $datacadastro;

 ++$i;
}

return $retorno;
}



public function findAllGastosByCodigoUsuario($codigoUsuario,$descriptografar = false) {

  $banco = new Banco();
  $banco->abreConexao();

  $colecaoGastos = array();

     $c = new Criptografia();

     //$c->descriptografarString("");

    $query = " SELECT * FROM gasto_scgp WHERE codigousuario = $codigoUsuario ";

    $result = mysql_query($query);

    while($row = mysql_fetch_array($result)){

       $gasto = new Gasto();

       if($descriptografar == true){
       $gasto->id            = $c->descriptografarInteiro($row[0]);
       $gasto->nome          = $c->descriptografarString($row[1]);
       $gasto->valor         = $c->descriptografarDecimal($row[2]);
       $gasto->ano           = $c->descriptografarInteiro($row[3]);
       $gasto->mes           = $c->descriptografarInteiro($row[4]);
       $gasto->tipo          = $c->descriptografarInteiro($row[5]);
       $gasto->descricao     = $c->descriptografarString($row[6]);
       $gasto->datacadastro  = $c->descriptografarString($row[7]);
       $gasto->codigoUsuario = $c->descriptografarInteiro($row[8]);
       }else{
          $gasto->id            = $c->$row[0];
          $gasto->nome          = $c->$row[1];
          $gasto->valor         = $c->$row[2];
          $gasto->ano           = $c->$row[3];
          $gasto->mes           = $c->$row[4];
          $gasto->tipo          = $c->$row[5];
          $gasto->descricao     = $c->$row[6];
          $gasto->datacadastro  = $c->$row[7];
          $gasto->codigoUsuario = $c->$row[8];
       }

       array_push($colecaoGastos,$gasto);
    }

   $banco->fechaConexao();

   return $colecaoGastos;
}



public function limparTabelaGastoByCodigoUsuario($codigoUsuario) {

  $banco = new Banco();
  $banco->abreConexao();

    $query = " DELETE FROM gasto_scgp WHERE codigousuario = $codigoUsuario ";
    $ressult = mysql_query($query);

  $banco->fechaConexao();

  }


}// fim da classe


?>